import babel from 'rollup-plugin-babel';
// ↓ 这个才是新版的
// import { babel } from '@rollup/plugin-babel';
//https://github.com/rollup/plugins/tree/8fadc64c679643569239509041a24a9516baf340/packages/babel

import resolve from '@rollup/plugin-node-resolve'; //一个Rollup插件，使用Node解析算法定位模块，用于使用node_modules中的第三方模块
import commonjs from '@rollup/plugin-commonjs'; //一个Rollup插件，可以将CommonJS模块转换为ES6，这样它们就可以包含在Rollup bundle中

export default {
  input:'src/main.js',
  output:{
    file:'dist/bundle.iife.js',//输出文件的路径和名称

    format:'iife',//五种输出格式：amd/es6/iife/umd/cjs/system

    name:'bundleName'//当format为iife和umd时必须提供，将作为全局变量挂在window下
  },
  plugins:[
    resolve(),
    commonjs(),
    //commonjs和babel插件一起用的时候
    //commonjs要放在babel前面
    //https://github.com/rollup/plugins/tree/master/packages/babel#using-with-rollupplugin-commonjs
    babel({
      exclude: /node_modules/,
      // presets:{} //← 也可写在这里
    })
  ]

  /** 使用的上面的插件后 第三方就会一同被打包进文件了 但如果你又有些库不像被打包进来 可以使用 ---> external*/
  // ,external: ['react'] // 如果打包的是umd格式, 那么对应匹配的变量是 React (首字母大写) (默认有一种算法, 但你也可以自定义)
  //如果你需要自己指定名字
  //则可以采用 对象的形式 进行配置
  /*,external: {
    'react'/!*引入的类库*!/: 'React'/!*自定义暴露的名字*!/
  }*/
}
